home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 096 / admin.arc / ADMIN.DOC next >
Text File  |  1985-01-30  |  17KB  |  371 lines

  1.                              Dr. Bob's Utilities
  2.                   A Company Devoted to Testing Your Integrity
  3.  
  4. ADMIN.DOC ** V1.0   1-19-85 **
  5.  
  6. If you use this program regularly and would like to contribute to my
  7. efforts and support work on future utilities -
  8.  
  9.                             Send $15.00
  10. to:
  11.  
  12. Dr. Bob's Utilities
  13. 444 Maple Lane
  14. St. Paul MN, 55112        (let me know of other utilities you would like)
  15.  
  16. Registered users will receive information about new uses, updates, new utility
  17. programs, etc. They may also ask questions by mail or
  18.  
  19.                           Terrapin Station BBS
  20.                              612  623-1156
  21.                        (A truly magnificent BBS).
  22.       *******  HOURS: weekdays after 6 pm CST  - weekends 24 hrs *******
  23.  
  24. Leave Terrapin RBBS messages for Bob Ray (me).
  25.  
  26. A new release is planned which should be a significant improvement over this
  27. one.  One change will be that most of the .EXE files of this version will be
  28. combined into one program.  This new release will assume that your system is
  29. working with the current versions so it can make assumptions about the format
  30. of your directories. It will also include various other goodies. Once I have
  31. some indication of support for my efforts (people become registered users),
  32. I will finish the new version and release it.
  33.  
  34.  
  35. ******************************************************************************
  36. ADMIN:
  37.      These programs in conjunction with STREW.EXE do almost all of your RBBS
  38. directory maintenance. To do your maintenance you simply type:
  39.  
  40. MAINTAIN ALPHADIR DATEDIR
  41.  
  42.              where ALPHADIR is the name of your alphabetical master directory
  43.              and   DATEDIR is the name of you date-sorted  master directory.
  44.  
  45. DISCLAIMER:
  46.      These utilities have no bugs that I know of (although you can easily
  47. produce some apparent bugs if you don't read this document carefully).
  48. They are sold without warranty of any kind.  Use them at your own risk.
  49.  
  50. THE FIRST TIME:
  51.     Before you use these utilities, do a COPY DIR??.* DIR??.BAK
  52.        (safety first).  After you are COMPLETELY convinced that
  53. things are ok, you can delete the .BAK files.
  54.  
  55. Then do the following:
  56.  
  57. 1.  Your directory headers, (if any) must have a character in the
  58.     left-most column that has an ASCII value less than 48.  The
  59.     space, | * < > and : characters are all fine.  If you
  60.     have a header made of just text, the easiest solution is to use a
  61.     text editor to insert a space at the beginning of each line.
  62.     Other good choices for the first character are | and *.
  63.     Otherwise your header will be sorted along with your filenames,
  64.     and may be trashed by various of these utilities.
  65.  
  66. 2.  Your should run EXP.EXE on all your RBBS sub-directories if you
  67.     want to use expanded filenames.  Otherwise your filenames
  68.     will become inconsistent.  This only needs to be done once.
  69.  
  70. 3.  If you have used anything other than a "-" as a the delimiter
  71.     in your dates, use a text editor to change to "-".
  72.  
  73. 4.  If your upload directory is not called DIR99, rename it to DIR99.
  74.  
  75. 5.  These utilities will behave unpredictably on files with Tabs in them.
  76.     Remove all tabs before running any of these programs.  Tabs are
  77.     visible in FRED (although FRED tends to go crazy when you use it on
  78.     files with tabs in them).
  79.  
  80. 6.  If you don't have master directories and would like them, do the following:
  81.  
  82.       COPY DIR10+DIR20+DIR30 MASTER  (using the names of your files)
  83.  
  84.             You probably don't want to include DIR99. This file (MASTER)
  85.             will have your headers at various points throughout.
  86.             If you have multiple line descriptions of some files, you
  87.             will need to do some work to prevent them from being split
  88.             up or re-ordered during sorting. The easiest method is to
  89.             eliminate them.  If you feel you must have multiple line
  90.             descriptions, you can preserve them by using the complete file
  91.             name for each line and doing a little planning:
  92.  
  93.             FILE     ASC                     description line1
  94.             FILE     COM|                    description line2
  95.             FILE.    COM|                    description line3
  96.  
  97.             Notice the use of "|" to make sure they are sorted in the correct
  98.             order.  Another approach is to add the multiple line descriptions
  99.             after you see how the lines will be sorted (making sure that your
  100.             descriptions won't change the sort order).
  101.             The solution is different for date-sorted directories. SYSRTRD.EXE
  102.             sorts on the date and (if the dates are the same) on the right side
  103.             of the line.  Unless care is taken this may separate files you
  104.             want to keep together. If you want to keep files with the same name
  105.             together, sort the dir alphabetically before date-sorting it.  Then
  106.             make sure your multiple line description lines are in alphabetical
  107.             order.  The easiest way to do this is to space over each succeeding
  108.             line:
  109.  
  110.             FILE     ASC        01-01-85          description line one
  111.             FILE     COM        01-01-85         description line two
  112.             FILE     DOC        01-01-85        description line three
  113.  
  114.  
  115.       USORT MASTER
  116.             Using USORT.EXE will move up all your headers to the
  117.             beginning of the file.  For this reason USORT.EXE is not
  118.             used in regular RBBS dir maintenance.  USORT.EXE, unlike
  119.             the other programs in this set, does not replace your
  120.             infile but rather puts its output in a file with the same
  121.             name but with the extension .SRT (e.g. MASTER.SRT).
  122.             MASTER.SRT will have all the various headers from your
  123.             RBBS sub-directories piled up at the beginning. You can then
  124.             use an editor to remove them and add a new header for your
  125.             master directory. Save two versions, one for your
  126.             alphabetical dir one for your date-sorted dir, each with the
  127.             appropriate header. (See #1 above for info about header.) Delete
  128.             MASTER.* and then run SYSRTA.EXE and SYSRTRD.EXE on the two
  129.             files. don't forget which is the date and which the alpha file.
  130.  
  131.        At this point you may have duplicate entries for some files (if they
  132.        were listed in more than one RBBS sub-directory).  You will need to
  133.        use an editor to remove them. I hope to have a program that will do this
  134.        for you in the near future (RMDUPES.EXE).
  135.  
  136.        These steps will only have to be done once.  Once you have master
  137.        directories, MAINTAIN.BAT will keep them up to date.
  138.  
  139. Once you have done these, the utilities will take care of almost
  140. all of your RBBS Directory maintenance.
  141.  
  142. WARNINGS:
  143.  
  144. 1.   The utilities have several expectations and may get a little crazy
  145. if they are not met.  See the section above "THE FIRST TIME:" for a
  146. description of the necessary conditions.
  147.  
  148. 2.   The maximum file handled by these utilities is a little over 50k.
  149. VERY bad things could happen if you try to process a file larger than
  150. this.  Future releases will exit gracefully if a file is too large. Be
  151. warned - this release will not.  The batch file MAINTAIN.BAT will
  152. show you the file size before working on the file. Abort with CTRL-C if
  153. the file is too large.  (This pause and warning occur only for your
  154. master file lists - it is assumed that your RBBS sub-directories are
  155. less than 50k.)
  156.  
  157. 3.   The dates in dir99 are the dates the files were uploaded. If these
  158. dates go in the sub-directories a while after they were uploaded, users
  159. who try to get a listing of new files with the N(ew) command will not
  160. hear about them if they called while the files were on dir99.  The next
  161. release of these utilities will correct this by putting the current
  162. system date into each line of dir99 when the update is done.
  163.  
  164. 4.   The batch file uses dir0 as a temporary holding file for the dir99
  165. header.  If you have a dir0, either rename it or change the line in the
  166. batch file.  It (the filename used by MAINTAIN.BAT) should have a "dir"
  167. prefix so you can "strew" to it.
  168.  
  169. WHAT THE UTILITIES DO:
  170.      The utilities DO NOT touch your dir headers as long as the first
  171. character of each line of the header has an ASCII value less than
  172. 48 (space . * | = + are all ok). The sort utilities SYSRTA.EXE and
  173. SYSRTRD.EXE report the number of files in each dir (ignoring the header,
  174. if any). 50k limit on file size. DON'T use them on larger files.
  175.  
  176.      The EXP.EXE program will automatically expand the filenames
  177. in a dir file so that all the extensions line up:
  178.  
  179. FILE.EXE
  180. FILE.C
  181. FILENAME.DOC
  182.  
  183. will change to
  184.  
  185. FILE     EXE
  186. FILE     D
  187. FILENAME DOC
  188.  
  189. The rest of the line will not be changed.
  190.  
  191. STREW.EXE is a utility for sending dir99 entries to your RBBS
  192. sub-directories.  It is not included in this set of utilities since I
  193. did not write it.  Future releases of these utilities may have something
  194. like STREW built in.  For now, the utilities will not work well without
  195. it and if you don't have it you can download it from the Terrapin
  196. Station RBBS (see hours and number above).  Using STREW.EXE with these
  197. utilities is described below.
  198.  
  199. SYSRTA.EXE is an alphabetical sort that ignores case and does not touch your
  200. dir header (if any). It sorts files in memory and will hold files up to 50k.
  201. Bad craziness may result if you try to sort a file larger than this.
  202. MAINTAIN.BAT will show you the file size and warn you about this. Use
  203. CTRL-C to abort if the file size is too big.  If this file size is a problem
  204. there may be several solutions:
  205.  
  206.      1. Use V. Buerg's sort filter (sortf.lbr available from Terrapin BBS).
  207.      2. Split the file into parts.
  208.      3. Wait for me or someone else to compile the utilities with a large
  209.         memory model compiler.
  210.      4. Wait for me to write a program that will split the file into parts,
  211.         perform the maintenance, then merge-sort it back to the master
  212.         file (not likely to happen any time soon).
  213.      5. Punt.
  214.  
  215. SYSRTRD.EXE sorts in reverse date order so the new files appear at the top
  216. of the list.  SYSRTRD.EXE assumes that a "-" is used as the date separator.
  217. If you have used something else SYSRTRD.EXE will not work unless you use
  218. an editor to change to a '-'.  SYSRTRD.EXE will behave unpredictably if
  219. another delimiter is used.  SYSRTRD.EXE assumes the date is in standard
  220. MM-DD-YY form but is smart enough to put 01-01-85 above 09-09-84 and changes
  221. 1-20-85 to 01-20-85.
  222. 50k limit here too.
  223.  
  224. GETHED.EXE extracts the header from dir99 and places it in a file called
  225. DIR99.HED.  This is so DIR99.HED can be copied to DIR99 and DIR99.HED
  226. deleted at the end of the batch file.  This leaves a new, empty DIR99
  227. for new uploads.
  228. 50k file limit.
  229.  
  230. USORT.EXE is a standard alphabetical sort utility except that it ignores
  231. upper and lower case. It DOES NOT ignore header material and therefore
  232. should not be used unless you want your header sorted in with the rest
  233. of your file.  It is handy for sorting a book index or other alphabetical
  234. list where you want upper and lower case entries treated the same.
  235.      Its use in creating a master directory the first time is described
  236. in the section above (THE FIRST TIME:).  Another use for USORT would be
  237. to help get rid of the headers in a file with multiple headers spread
  238. through it.  Usort would move them all to the front of the file where
  239. they could easily be removed. 50k file limit.
  240.  
  241. MAINTAIN.BAT is the batch file that takes care of business for you. It is
  242. invoked with MAINTAIN ALPHADIR DATEDIR.
  243.  
  244. Here is what it looks like:
  245.  
  246. echo on
  247. cls
  248. rem               RBBS File Maintenance Batch File
  249. rem                             .
  250. rem               from Dr. Bob's Utilities
  251. rem                             .
  252. rem                             .
  253. rem               call with MAINTAIN ALPHADIR DATEDIR
  254. rem               where ALPHADIR is the name of your master alphabetical dir
  255. rem               and   DATEDIR is the name of your master date-sorted dir
  256. rem                             .
  257. rem               e.g.  MAINTAIN DIR90 DIR91
  258. rem                             .
  259. pause
  260. exp dir99
  261. copy dir99 dir99.bak
  262. gethed dir99
  263. copy dir99.hed dir0
  264. del dir99.hed
  265. strew rbbs
  266. sysrta dir10 dir20 dir30  ...put the names of your RBBS sub-directories here
  267. dir %1
  268. pause            ABORT IF SIZE of %1 is > 50,000
  269. sysrta %1
  270. dir %2
  271. pause            ABORT IF SIZE of %2 is > 50,000
  272. sysrtrd %2
  273. rename dir0 dir99
  274. pause            About to delete dir99.bak  (abort with Ctrl-C)
  275. del dir99.bak
  276. rename dir0 dir99
  277.  
  278. CHANGING MAINTAIN.BAT
  279.  
  280.      MAINTAIN.BAT can be changed with edlin, FRED, or any ASCII
  281. oriented text editor.
  282.  
  283. BE SURE TO CHANGE the line with DIR10 DIR20 DIR30 so that it
  284. contains the names of your RBBS sub-directories.  You can use
  285. several lines if necessary as long as each starts with SYSRTA.
  286. If you would rather have your sub-directories in reverse date order,
  287. change sysrta to sysrtrd in the batch file.
  288.  
  289. If you do not want to have a date-sorted directory, simply delete all
  290. lines with %2 in them and use MAINTAIN ALPHADIR to start up.
  291. (Replace "ALPHADIR" with the name of your dir.)
  292.  
  293. If you do not want to have an alpha-sorted directory, delete all lines
  294. with %1 in them and change "%2" to "%1" wherever it appears. Use
  295. MAINTAIN DATEDIR to start up. (Replace "DATEDIR" with the name of your dir.)
  296.  
  297. If you want all your RBBS sub-directories in reverse date order, use
  298. SYSRTRD.EXE to sort all of them.
  299.  
  300. If you don't want the filename expanded, remove the line with exp.
  301.  
  302. If you feel daring, remove the "PAUSE" statements
  303.  
  304.  
  305. USING STREW WITH THESE UTILITIES:
  306.      STREW.EXE will let you specify RBBS-sub-directories to send the new
  307. files in dir99 to.  Type C  to configure strew and specify RBBS as the
  308. name of the config file.  Specify DIR99 as the upload directory and
  309. specify the prefix for the RBBS sub-directories (usually DIR).
  310.      IMPORTANT: specify the names of your two master directories,
  311. (or one if you only want one) as the default files to "strew" to.
  312. For example, if DIR90 and DIR91 are your two master directories, specify
  313. 90,91 as the default file to strew to and DIR as the default prefix. This
  314. will automatically append all the new files to the end of the two master
  315. directories.
  316.      You may want to increase the size of the "strew" field in STREW if
  317. you will be "strewing" the file to several different directories.
  318.      If you would like to leave some files in dir99 instead of sending
  319. them to RBBS sub-directories, simply "strew" them  to dir0.  Dir0
  320. is a temporary file holding the dir99 header. It is later renamed
  321. to dir99.
  322.  
  323.  
  324. ABOUT THE SORT ALGORITHM:
  325.      These utilities use a modified quicksort algorithm to sort the lines
  326. of each file.  The lines are read into a continuous buffer and, as they
  327. are read, an array of pointers is set to point to the beginnings of the
  328. lines.  The sort function calls the compare and swap functions. The swap
  329. function swaps the pointers to the two lines, leaving the lines where they
  330. are.  The compare function is tailored to the particular sorting task.
  331. I'm not sure, but I think the quicksort is also modified to improve
  332. performance on a file which is already mostly sorted (as most RBBS files
  333. are).  Future releases will probably have a single sort program which
  334. accepts flags on the command line that will determine its behavior.
  335. e.g.  SYSORT /HRD DIR90
  336. would sort DIR90 in reverse date order and ignore headers.
  337.  
  338. WHAT'S LEFT FOR YOU TO DO:
  339.      You will still have to tell STREW which directories to send the
  340. files to.
  341.      MAINTAIN will take care of all the normal RBBS DIR maintenance
  342. I know of except that it does not update the message in your header
  343. (if any) giving the number of files and the date of revision.  If
  344. everyone will agree to put a line like the following as line three
  345. of the header:
  346.  
  347. *      Contains ### Files - Last Update ##-##-##...                        *
  348.  
  349. and let me know that this is ok, I will have the new version replace this
  350. line with the correct info. (It won't touch the border, it will just go
  351. to the third line, move over a few spaces and punch in the message with
  352. a few leading and trailing spaces for good measure.)
  353.  
  354. EXAMPLE HEADER:
  355. ******************************************************************************
  356. *                       Directory 90 - Lists all files                       *
  357. *                 Contains ### Files - Last Update ##-##-##                  *
  358. *                           Reverse Date Order                               *
  359. ******************************************************************************
  360.  
  361. have fun,
  362.  
  363.  
  364. Dr. Bob     aka Bob Ray  (leave Terrapin BBS messages for Bob Ray)
  365.                           **  see hours and number above **
  366.  
  367. ***************************************************************************
  368.  
  369.            **  see hours and number above **
  370.  
  371. ****************************************************